Python NotImplemented 常量
全部标签 这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:isthereanyconceptcalled“ConstantFolding”injava?嗨我遇到过Java编译器使用称为ConstantFolding的东西。这是什么?以及它如何影响?
最近,我注意到,有可能:classTest{publicenumSeason{WINTER,SPRING,SUMMER,FALL}Seasonfield=Season.WINTER.SPRING;//whyisWINTER.SPRINGpossible?}这有什么原因吗? 最佳答案 当您在Java中访问对象的静态成员(包括枚举)时,编译器会有效地用其静态类型替换该对象。更具体地说,classExampleClass{staticintstaticField;staticvoidstaticMethod(){ExampleClasse
请看这个link.JoshuaBloch在他的EffectiveJava一书中说请注意,操作常量是从一个在创建常量后运行的静态block。Tryingtomakeeachconstantputitselfintothemapfromitsownconstructorwouldcauseacompilationerror.这是一件好事,因为它会导致NullPointerException如果它是合法的。Enumconstructorsaren’tpermittedtoaccesstheenum’sstaticfields,exceptforcompile-timeconstantfiel
这个问题在这里已经有了答案:Javaswitchstatement:Constantexpressionrequired,butitISconstant(14个答案)CompileTimeConstantUsageinSwitchCaseJava(6个答案)关闭6年前。我用Java编写了以下代码,运行良好:publicclasstest{publicstaticvoidmain(String[]args){finalStrings1="s1";finalStrings2="s2";Strings="s1";switch(s){cases1:System.out.println("s1"
假设您有一个通用接口(interface):publicinterfaceMyInterface{TdoSomething();}是否可以声明一个实现MyInterface的枚举?,但每个枚举常量都为不同的值T实现它?也就是说,给定这个枚举:publicenumMyEnum{FOO,BAR,BAZ;}我们可以改变它吗FOO工具MyInterface,BAR工具MyInterface,和BAZ工具MyInterface>,并使MyEnum整体工具MyInterface?这样做似乎是完全可行的,所以它可能以类型安全的方式完成。 最佳答案
我有一个二进制文件,它使用4个字符的集合来形成具有“意义”的整数。例如4字节的'0005',整数形式为808464437。我宁愿在我的Java代码中将它们表示为'0005'而不是808464437。我也不想设置像finalintV0005=808464437这样的常量.在C++中,我可以执行以下操作:fileStream->read((byte*)&version,4);//Getthenextbytesandstuffthemintotheuint32versionswitch(version){case'0005'://dosomethingcase'0006'://dosomet
这个问题在这里已经有了答案:Whyisdefaultrequiredforaswitchonanenum?(8个答案)关闭3年前。我试图在Java中声明一个枚举并在switch语句中使用该类型的变量,其中涵盖了该类型枚举常量的所有可能情况。enumMyEnum{FOO,BAR}privatestaticvoidtest(MyEnume){Stringmsg;switch(e){caseFOO:msg="foo";break;caseBAR:msg="bar";break;}System.out.println("Enumis:"+e+"msgis:"+msg);//compilerer
如何在不使用enums的情况下在Java中声明和初始化常量数组?staticfinalType[]arrayOfConstants=newType[10];//notanarrayofconstants 最佳答案 如果你想创建一个不可变数组,不,你不能。Java中的所有数组都是可变的。如果你只想在你的类中预定义数组,你可以这样做:privatestaticfinalint[]MY_ARRAY={10,20,30,40,50};这里我们创建了一个长度为5的预定义数组MY_ARRAY,所以MY_ARRAY[0]是10等等。请注意,尽管M
我是Spring的新手,我有一个bean声明如下。typeOf是一种Integer类型,它是typeOfBuilder通过Key构建的另一个表的键,OPEN_DATE在这种情况下。这段代码工作正常,但有一个限制。OPEN_DATE是NON-MANAGESpringBean中的常量,如下所示。publicfinalclassConstants{publicfinalstaticStringKEY_FOR_OPEN_DATE="OPEN_DATE";}并强烈推荐能够引用!!像这样。非常感谢任何帮助。 最佳答案 Thespecial'T'
我希望一个常量变量对包中的所有类都是通用的。有没有一种方法可以做到这一点,而无需只使用其中的一个定义创建一个接口(interface),并让每个类都实现它? 最佳答案 在Java中,所有常量都必须驻留在一个类型(类或接口(interface))中。但是您不必实现接口(interface)即可使用内部声明的常量。你可以试试把这样的东西放在你的包里:interfaceConstants{staticfinalStringCONSTANT="CONTANT";}然后,像这样使用它:StringmyVar=Constants.CONSTAN